# 选择包含高版本 Node.js 和兼容库的基础镜像（如 Node 16 + Alpine Linux）
FROM node:16-alpine

# 设置工作目录
WORKDIR /app

# 复制项目依赖配置文件
COPY package.json package-lock.json ./

# 安装依赖（容器内的 Node.js 和库环境独立，不会受宿主机影响）
RUN npm install

# 复制项目源代码
COPY . .

# 构建项目（生成 dist 目录）
RUN npm run build

# 若需要运行服务，可使用 Nginx 部署静态文件
FROM nginx:alpine
COPY --from=0 /app/dist /usr/share/nginx/html
EXPOSE 80